enum PowerType { lowOne, lowTwo, lowThree, lowFour, highOne, highTwo, highThree, highFour }

extension PowerTypeExtension on PowerType {
  String get name => ['1.5625W', '3.125W', '6.25W', '12.5W', '25w', '50W', '100W', '200W'][index];
}

enum RBWType { zero, rbw_125, rbw_1000, rbw_2000, rbw_4000, rbw_8000, rbw_16000, rbw_32000 }

extension RBWExtension on RBWType {
  String get name => ['0KHz', '0.125KHz', '1KHz', '2KHz', '4KHz', '8KHz', '16KHz', '32KHz'][index];

  int get value => [0, 125, 1000, 2000, 4000, 8000, 16000, 32000][index];

  int get bw => value * 256;
}

enum AntennaType { invertedVThreeWireBroadband }

extension AntennaTypeExtension on AntennaType {
  String get name => ['倒V三线宽带天线'][index];
}

enum RadioType { fixed, car, boat, plane }

extension RadioTypeExtension on RadioType {
  String get name => ['固定台站', '车载台站', '船载台站', '机载台站'][index];
}

enum RadioState { idle, receive, send }

extension RadioStateExtension on RadioState {
  String get name => ['空闲', '接收', '发射'][index];

  String get state => ['空闲中...', '接收中...', '发射中...'][index];
}

enum DetectRole { master, slave, listener }

extension DetectRoleExtension on DetectRole {
  String get label => ['主站', '从站', '监听站'][index];
}

enum TaskType { general, pick }

enum ModemType { c0, c1, lfm, c3, ft8 }

enum PickStrategy { once, full }

List<String> filterAttenuation = List<String>.generate(32, (index) => "${index}dB");
const List<String> filterBand = [
  '1.5MHz～2MHz',
  '2MHz～2.8MHz',
  '2.8MHz～4MHz',
  '4MHz～5.5MHz',
  '5.5MHz～7.5MHz',
  '7.5MHz～10.5MHz',
  '10.5MHz～14.5MHz',
  '14.5MHz～20.5MHz',
  '20.5MHz～30MHz',
  '30MHz～40MHz',
  '40MHz～50MHz',
  '1.5MHz～2.8MHz',
  '1.5MHz～4MHz',
  '2MHz～4MHz',
  '1.5MHz～5.5MHz',
  '2MHz～5.5MHz',
  '2.8MHz～5.5MHz',
  '1.5MHz～7.5MHz',
  '2MHz～7.5MHz',
  '2.8MHz～7.5MHz',
  '4MHz～7.5MHz',
  '1.5MHz～10.5MHz',
  '2MHz～10.5MHz',
  '2.8MHz～10.5MHz',
  '4MHz～10.5MHz',
  '5.5MHz～10.5MHz',
  '1.5MHz～14.5MHz',
  '2MHz～14.5MHz',
  '2.8MHz～14.5MHz',
  '4MHz～14.5MHz',
  '5.5MHz～14.5MHz',
  '7.5MHz～14.5MHz',
  '1.5MHz～20.5MHz',
  '2MHz～20.5MHz',
  '2.8MHz～20.5MHz',
  '4MHz～20.5MHz',
  '5.5MHz～20.5MHz',
  '7.5MHz～20.5MHz',
  '10.5MHz～20.5MHz',
  '1.5MHz～30MHz',
  '2MHz～30MHz',
  '2.8MHz～30MHz',
  '4MHz～30MHz',
  '5.5MHz～30MHz',
  '7.5MHz～30MHz',
  '10.5MHz～30MHz',
  '14.5MHz～30MHz',
  '1.5MHz～40MHz',
  '2MHz～40MHz',
  '2.8MHz～40MHz',
  '4MHz～40MHz',
  '5.5MHz～40MHz',
  '7.5MHz～40MHz',
  '10.5MHz～40MHz',
  '14.5MHz～40MHz',
  '20.5MHz～40MHz',
  '1.5MHz～50MHz',
  '2MHz～50MHz',
  '2.8MHz～50MHz',
  '4MHz～50MHz',
  '5.5MHz～50MHz',
  '7.5MHz～50MHz',
  '10.5MHz～50MHz',
  '14.5MHz～50MHz',
  '20.5MHz～50MHz',
  '30MHz～50MHz',
];
